﻿CREATE PROC dbo.spGuardaCampo(  
	 @pnIdLaboratorio	INT,  
	 @pnIdEstudio		INT,
	 @pnIdCampo			INT,
	 @psNombreCampo		VARCHAR(500),  
	 @pnIdTipoCampo		INT,  
	 @pnEsRequerido		TINYINT,  
	 @psUnidad			VARCHAR(50),
	 @pnIdUsuarioMod	INT,  
	 @psIpMod		VARCHAR(15)  
)  
AS  
BEGIN  
	SET NOCOUNT ON;  
	DECLARE @nFolio BIGINT, @nIdUsuario INT  
    
	IF @pnIdCampo IS NULL  
	BEGIN  
		EXEC dbo.spSequence
			@pnIdLaboratorio	= @pnIdLaboratorio, -- int
		    @pnIdSucursal		= NULL, -- int
		    @psTabla			= 'CatCampoEstudio', -- varchar(100)
		    @psCampoFolio		= 'IdCampo', -- varchar(50)
		    @pnNextValue		= @nFolio OUT -- bigint
		
		INSERT INTO dbo.CatCampoEstudio
		        ( IdEstudio ,
		          IdLaboratorio ,
		          IdCampo ,
		          NombreCampo ,
		          IdTipoCampo ,
		          EsRequerido ,
		          Unidad ,
		          Orden
		        )
		VALUES  ( @pnIdEstudio , -- IdEstudio - int
		          @pnIdLaboratorio , -- IdLaboratorio - int
		          @nFolio , -- IdCampo - int
		          @psNombreCampo , -- NombreCampo - nvarchar(100)
		          @pnIdTipoCampo , -- IdTipoCampo - int
		          @pnEsRequerido , -- EsRequerido - tinyint
		          @psUnidad , -- Unidad - varchar(50)
		          0  -- Orden - int
		        )
		        
		SELECT @pnIdCampo = @nFolio;  
	END  
	ELSE  
	BEGIN  
		UPDATE dbo.CatCampoEstudio
		SET  NombreCampo= @psNombreCampo,  
		IdTipoCampo		= @pnIdTipoCampo,
		EsRequerido		= @pnEsRequerido,
		Unidad			= @psUnidad
		--FechaMod		= GETDATE(),  
		--IdUsuarioMod	= @pnIdUsuarioMod,  
		--IpMod			= @psIpMod 
	  WHERE IdEstudio	= @pnIdEstudio  
	  AND	IdLaboratorio = @pnIdLaboratorio
	  AND	IdCampo		= @pnIdCampo
	END  
    
	SELECT @pnIdCampo AS IdCampo
   
 SET NOCOUNT OFF;  
END